package com.cskaoyan.service.order;

import com.cskaoyan.bean.BaseRespVo;

import com.cskaoyan.bean.MarketComment;
import com.cskaoyan.bean.MarketOrder;
import com.cskaoyan.bean.address.IdPo;
import com.cskaoyan.bean.order.bo.CreateOrderBo;
import com.cskaoyan.bean.order.bo.OrderBo;
import com.cskaoyan.bean.order.vo.InfoOrderVo;
import com.cskaoyan.bean.order.vo.OrderGoodsDetailVo;
import com.cskaoyan.bean.order.vo.PaginationPo;
import com.cskaoyan.bean.order.vo.SubmitVo;

import com.cskaoyan.bean.order.bo.CommentBo;
import com.cskaoyan.bean.order.bo.OrderBo;
import com.cskaoyan.bean.order.bo.RefundBo;
import com.cskaoyan.bean.order.bo.ShipBo;


public interface OrderService {
    BaseRespVo selectAllOrders(OrderBo orderBo);

    BaseRespVo selectOrdersDetail(Integer id);

    BaseRespVo deleteOrderById(Integer orderId);


    SubmitVo submit(CreateOrderBo createOrderBo);

    void prepay(IdPo oderId);

    void cancel(IdPo oderId);

    void delete(IdPo oderId);

    void refund(IdPo oderId);

    void confirm(IdPo oderId);

    void comment(MarketComment marketComment );

    void goods(Integer orderId, Integer goodsId);


    InfoOrderVo list(PaginationPo paginationPo);

    OrderGoodsDetailVo detail(Integer oderId);

    BaseRespVo ship(ShipBo shipBo);

    BaseRespVo refund(RefundBo refundBo);

    BaseRespVo channel();

    BaseRespVo reply(CommentBo commentBo);

}
